package com.bolt.report.business.modules.datasource.dto;

import com.bolt.report.business.modules.param.dto.ReportDbParamDTO;
import com.bolt.report.definition.ApiMethod;
import com.bolt.report.definition.DataSetType;
import com.bolt.report.definition.RequestType;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.List;

@Data
public class DataSetAnalyzeParamDTO implements Serializable {


    @ApiModelProperty(notes = "动态查询sql")
    private String dbDynSql;

    @ApiModelProperty(notes = "数据源ID")
    @NotBlank
    private String dataSourceId;

    @ApiModelProperty(notes = "查询参数")
    private List<ReportDbParamDTO> params;

    @ApiModelProperty(notes = "springKey")
    private String springKey;

    @ApiModelProperty(notes = "数据集类型")
    private DataSetType type;

    @ApiModelProperty(notes = "API URL")
    private String apiUrl;

    @ApiModelProperty(notes = "API结果传换器")
    private String convertAdapter;

    @ApiModelProperty(notes = "API请求方法")
    private ApiMethod apiMethod;

    @ApiModelProperty(notes = "请求参数类型")
    private RequestType requestType;
}